{
gboolean ret = FALSE;
+ g_return_val_if_fail (name != NULL, FALSE);
+
+ if (!ot_util_filename_validate (name, error))
+ goto out;
+
if (g_hash_table_lookup (self->subdirs, name))
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
g_return_val_if_fail (name != NULL, FALSE);
+ if (!ot_util_filename_validate (name, error))
+ goto out;
+
if (g_hash_table_lookup (self->files, name))
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
while (g_hash_table_iter_next (&hash_iter, &key, &value))
{
const char *name = key;
+
+ /* Should have been validated earlier, but be paranoid */
+ g_assert (ot_util_filename_validate (name, NULL));
+
sorted_filenames = g_slist_prepend (sorted_filenames, (char*)name);
}